/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Estructuras;
import java.util.LinkedList;
/**
 *
 * @author Luis Sosa
 */

/*Clase Auxiliarpara implementar los procesos*/
public class colaProcesos{


  LinkedList<Task_struct> lista;

  public colaProcesos() {
    this.lista = new LinkedList();
  }

  //Agrega el elemento a la lista
  public boolean agregar(Task_struct ts){
    if(!lista.contains(ts)){
       lista.add(ts);
       return true;
    }
    else{
      System.out.println("Elemento ya fue agregado" );
      return false;
    }
  }

/*
 Retorna el primer elemento de la lista
 */
  public Task_struct siguiente(){
     return lista.removeFirst();
  }


  /*
   * Elimina de la lista el sched_entity si existe
   */
  public Task_struct eliminar(Task_struct ts){
       if(lista.contains(ts)){
         Task_struct aux = null;
         int pos = lista.indexOf(ts);
         //encontro el elemento
         if(pos != -1){
             aux = lista.remove(pos);
         }
         return aux;
       }
       return null;
  }

  /*
   * Retorna el tamano de la lista
   */
  public int tamano(){
     return lista.size();
  }
}
